{"componentChunkName":"component---src-templates-post-jsx","path":"/[2020] 정보 처리 기사 실기 9-소프트웨어 보안 구축/","result":{"data":{"site":{"siteMetadata":{"title":"jigglog","author":"JIGGLYPOP","homepage":"http://jigglog.s3-website.ap-northeast-2.amazonaws.com"}},"post":{"id":"3748a8aa-ffee-5adf-852d-45cdcb931cfe","html":"<blockquote>\n<p>정보처리기사 공부 후 정리 자료입니다. 정확하지 않을 수 있으니 꼭 책을 참고해서 공부하세요\n2020 정보 처리 기사 소프트웨어 보안 구축 요약 입니다. 정처기 공부를 할 때 활용하세요.</p>\n</blockquote>\n<h1 id=\"1-소프트웨어-개발의-비용-산정-기법\" style=\"position:relative;\"><a href=\"#1-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EA%B0%9C%EB%B0%9C%EC%9D%98-%EB%B9%84%EC%9A%A9-%EC%82%B0%EC%A0%95-%EA%B8%B0%EB%B2%95\" aria-label=\"1 소프트웨어 개발의 비용 산정 기법 permalink\" class=\"anchor-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>1. 소프트웨어 개발의 비용 산정 기법</h1>\n<hr>\n<ul>\n<li>소프트웨어의 개발 규모를 소요되는 인원, 자원, 기간 등으로 확인하여 실행 가능한 계획을 수립하기 위해 필요한 비용을 산정하는 것</li>\n<li>\n<p><code class=\"language-text\">하향식 비용 산정 기법</code> : 과거의 유사한 경험을 바탕으로 전문 지식이 많은 개발자들이 참여한 회의를 통해 비용을 산정하는 비과학적인 방법</p>\n<ul>\n<li><code class=\"language-text\">전문가 감정 기법</code> : 조직 내에 있는 경험이 많은 두 명 이상의 전문가에게 비용 산정을 의뢰</li>\n<li><code class=\"language-text\">델파이 기법</code> : 전문가 감정 기법의 주관적인 편견을 보완 하기 위해 많은 전문가의 의견을 종합하여 산정</li>\n</ul>\n</li>\n<li>\n<p><code class=\"language-text\">상향식 비용 산정 기법</code> : 프로젝트의 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정</p>\n<ul>\n<li><code class=\"language-text\">LOC</code> : 소프트웨어 각 기능의 원시 코드 라인 수 의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정</li>\n</ul>\n</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"sql\"><pre class=\"language-sql\"><code class=\"language-sql\">노력<span class=\"token punctuation\">(</span>인월<span class=\"token punctuation\">)</span> <span class=\"token operator\">=</span> 개발 기간 × 투입 인원 <span class=\"token operator\">=</span> LOC <span class=\"token operator\">/</span> <span class=\"token number\">1</span>인당 월평균 생산 코드 라인 수\n<span class=\"token punctuation\">(</span>E <span class=\"token operator\">=</span> D x N <span class=\"token operator\">=</span> LOC <span class=\"token operator\">/</span> M<span class=\"token punctuation\">)</span>\n개발 비용 <span class=\"token operator\">=</span> 노력<span class=\"token punctuation\">(</span>인월<span class=\"token punctuation\">)</span> × 단위 비용 <span class=\"token punctuation\">(</span><span class=\"token number\">1</span>인당 월평균 인건비<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">(</span>C <span class=\"token operator\">=</span> E x U<span class=\"token punctuation\">)</span>\n개발 기간 <span class=\"token operator\">=</span> 노력<span class=\"token punctuation\">(</span>인월<span class=\"token punctuation\">)</span> <span class=\"token operator\">/</span> 투입 인원\n<span class=\"token punctuation\">(</span>D <span class=\"token operator\">=</span> E <span class=\"token operator\">/</span> N<span class=\"token punctuation\">)</span>\n생산성 <span class=\"token operator\">=</span> LOC <span class=\"token operator\">/</span> 노력<span class=\"token punctuation\">(</span>인월<span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">(</span>H <span class=\"token operator\">=</span> LOC <span class=\"token operator\">/</span> E<span class=\"token punctuation\">)</span></code></pre></div>\n<ul>\n<li><code class=\"language-text\">개발 단계별 인월수 기법</code> : LOC 기법을 보완하기 위한 기법으로, 각 기능을 구현시키는 데 필요한 노력을 생명 주기의 각 단계별로 산정</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"sql\"><pre class=\"language-sql\"><code class=\"language-sql\"><span class=\"token punctuation\">[</span>예제<span class=\"token punctuation\">]</span>LOC 기법에 의하여 예측된 총 라인 수가 <span class=\"token number\">30</span><span class=\"token punctuation\">,</span><span class=\"token number\">000</span>라인<span class=\"token punctuation\">,</span> 개발에 참여할 프로그래머가 <span class=\"token number\">5</span>명<span class=\"token punctuation\">,</span>\n프로그래머들의 평균 생산성이 월간 <span class=\"token number\">300</span>라인일 때 개발에 소요되는 기간은?\n <span class=\"token operator\">-</span> 노력<span class=\"token punctuation\">(</span>인월<span class=\"token punctuation\">)</span> <span class=\"token operator\">=</span> LOC<span class=\"token operator\">/</span><span class=\"token number\">1</span>인당 월평균 생산 코드 라인 수 <span class=\"token operator\">=</span> <span class=\"token number\">30</span><span class=\"token punctuation\">,</span><span class=\"token number\">000</span><span class=\"token operator\">/</span><span class=\"token number\">300</span> <span class=\"token operator\">=</span> <span class=\"token number\">100</span>명\n <span class=\"token operator\">-</span> 개발 기간 <span class=\"token operator\">=</span> 노력<span class=\"token punctuation\">(</span>인월<span class=\"token punctuation\">)</span><span class=\"token operator\">/</span>투입 인원 <span class=\"token operator\">=</span> <span class=\"token number\">100</span><span class=\"token operator\">/</span><span class=\"token number\">5</span> <span class=\"token operator\">=</span> <span class=\"token number\">20</span>개월</code></pre></div>\n<h1 id=\"2-공격-기법의-이해\" style=\"position:relative;\"><a href=\"#2-%EA%B3%B5%EA%B2%A9-%EA%B8%B0%EB%B2%95%EC%9D%98-%EC%9D%B4%ED%95%B4\" aria-label=\"2 공격 기법의 이해 permalink\" class=\"anchor-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>2. 공격 기법의 이해</h1>\n<hr>\n<ul>\n<li><code class=\"language-text\">분산 서비스 거부(DDoS) 공격</code> : 여러 곳에 분산된 공격 지점에서 한 곳의 서버에 대해 분산 서비스 공격을 수행하는 것으로, 네트워크에서 취약점이 있는 호스트들을 탐색한 후 이들 호스트들에 분산 서비스 공격용 툴을 설치하여 에이전트로 만든 후 DDoS 공격에 이용</li>\n<li>\n<p><code class=\"language-text\">자원 고갈 공격</code> : <em>서버의 자원을 고갈시킬 목적으로 다수의 공격자 또는 시스템에서 대량의 데이터를 한 곳의 서버에 집중적으로 전송함으로써 서버의 정상적인 기능을 방해</em></p>\n<ul>\n<li><code class=\"language-text\">SYN 플러딩(SYN Flooding)</code> : TCP는 신뢰성있는 전송을 위해 3-way-handshake를 거친 후에 데이터를 전송하게 되는데, SYN Flooding은 공격자가 가상의 클라이언트로 위장하여 3-way-handshake과정을 의도적으로 중단시킴으로써 서버가 대기 상태에 놓여 정상적인 서비스를 수행하지 못하게 함</li>\n<li><code class=\"language-text\">UDP 플러딩(UDP Flooding)</code> : 대량의 UDP 패킷을 만들어 임의의 포트 번호로 전송하여 응답 메시지를 생성하게 하여 자원을 고갈시키는 공격. ICMP 패킷은 변조되어 공격자에게 전달되지 않아 대기함</li>\n<li><code class=\"language-text\">스머핑(Smurfing)</code> : IP나 ICMP의 특성을 악용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크 또는 시스템의 상태를 불능으로 만듦</li>\n<li><code class=\"language-text\">죽음의 핑(poD = Ping of Death)</code> : Ping 명령을 전송할 때 패킷의 크기를 인터넷 프로토콜 허용 범위 이상으로 전송하여 공격 대상의 네트워크를 마비</li>\n</ul>\n</li>\n<li>\n<p><code class=\"language-text\">애플리케이션 공격</code> </p>\n<ul>\n<li><code class=\"language-text\">HTTP GET 플러딩(Flooding)</code> : Cache Control Attack 공격. http 캐시 옵션을 조작하여 캐싱 서버가 아닌 웹서버가 직접 처리하도록 유도해서 웹서버 자원을 소진시키는 서비스 거부 공격</li>\n<li><code class=\"language-text\">Slowloris(Slow HTTP Header DoS)</code> : HTTP GET 메소드를 사용하여 헤더의 최종 끝을 알리는 개행 문자열인 \\r\\n\\r\\n을 전송하지 않고 \\r\\n만 전송하여 대상 웹서버와 연결 상테를 장시간 지속시키고 연결 자원을 모두 소진시키는 공격</li>\n<li><code class=\"language-text\">RUDY</code> :요청 헤더의 Content-length를 비정상적으로 크게 설정하여 메시지 바디 부분을 매우 소량으로 보내 계속 연결 상태를 유지시키는 공격</li>\n</ul>\n</li>\n<li>\n<p><code class=\"language-text\">네트워크 서비스 공격</code></p>\n<ul>\n<li><code class=\"language-text\">네트워크 스캐너(Scanner)/스니퍼(Sniffer)</code> : 네트워크 하드웨어 및 소프트웨어 구성의 취약점 파일을 위해 공격자가 사용하는 공격 도구</li>\n<li><code class=\"language-text\">패스워드 크래킹(Password Cracking)</code> : 사전 크래킹과 무차별 크래킹 방법을 사용해 네트워크 패스워드를 탐색</li>\n<li><code class=\"language-text\">IP 스푸핑(IP Spoofing)</code> : 서버에 대한 인증되지 않은 액세스 권한을 입수하는데 사용하는 기법</li>\n<li><code class=\"language-text\">트로이 목마</code> : 정상적인 기능을 하는 프로그램으로 위장하여 프로그램 내에 숨어 있다가 해당 프로그램이 동작할 때 활성화되어 부작용을 일으킴</li>\n</ul>\n</li>\n<li>\n<p><code class=\"language-text\">취약점 공격</code>:</p>\n<ul>\n<li><code class=\"language-text\">랜드 어택(Land Attack)</code> : 패킷을 전송할 때 송신 IP 주소와 수신 IP 주소를 모두 공격 대상의 IP 주소로 하여 공격 대상에게 전송하는 것으로, 이 패킷을 받은 공격 대상은 송신 IP 주소가 자신이므로 자신에게 응답을 수행하게 되는데, 이러한 패킷이 계속해서 전송될 경우 자신에 대해 무한히 응답</li>\n<li><code class=\"language-text\">봉크/보잉크(Bonk/Boink)</code> : 프로토콜의 오류 제어를 이용한 공격기법으로서 시스템의 패킷 재전송과 재조립이 과부하를 유발</li>\n<li><code class=\"language-text\">티어 드롭(TearDrop)</code> : 데이터의 송·수신 과정에서 패킷의 크기가 커 여러 개로 분할되어 전송될 때 분할 순서를 알수 있도록 Fragment Offset값을 함께 전송하는데, 이 값을 변경시켜 수신측에서 패킷을 재조립할 때 오류로 인한 과부하를 발생</li>\n</ul>\n</li>\n</ul>\n<h1 id=\"3-네트워크-침해-공격-관련-용어\" style=\"position:relative;\"><a href=\"#3-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EC%B9%A8%ED%95%B4-%EA%B3%B5%EA%B2%A9-%EA%B4%80%EB%A0%A8-%EC%9A%A9%EC%96%B4\" aria-label=\"3 네트워크 침해 공격 관련 용어 permalink\" class=\"anchor-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>3. 네트워크 침해 공격 관련 용어</h1>\n<hr>\n<ul>\n<li><code class=\"language-text\">스미싱</code> : 문자 메시지를 이용해 사용자의 개인 신용 정보를 빼내는 수법</li>\n<li><code class=\"language-text\">스피어 피싱(Spear Phishing)</code> : 사회 공학의 한 기법으로 특정 대상을 선정한 후 일반적인 이메일로 위장한 메일을 지속적으로 발송하여, 발송 메일의 링크나 파일을 클릭하도록 유도해 사용자의 개인정보를 탈취</li>\n<li><code class=\"language-text\">APT(지능형 지속 위협)</code> : 다양한 IT 기술과 방식들을 이용해 조직적으로 특정 기업이나 조직 네트워크에 침투해 활동 거점을 마련한 뒤 때를 기다리면서 보안을 무력화시키고 정보를 수집한 다음 외부로 빼돌리는 형태의 공격</li>\n<li><code class=\"language-text\">무작위 대입 공격(Brute Force Attack)</code> : 암호화된 문서의 암호키를 찾아내기 위해 적용 가능한 모든 값을 대입하여 공격</li>\n<li><code class=\"language-text\">큐싱(Qshing)</code>: QR코드를 통해 악성 앱의 다운로드를 유도하거나 악성 프로 그램을 설치하도록 하는 금융사기 기법의 하나로, QR코드와 개인정보 및 금융정보를 낚는다는 의미의 합성 신조어</li>\n<li><code class=\"language-text\">SQL 삽입(Injection) 공격</code> : 전문 스캐너 프로그램 혹은 봇넷 등을 이용해 웹사이트를 무차별적으로 공격하는 과정에서 취약한 사이트가 발견되면 데이 터베이스 등의 데이터를 조작하는 일련의 공격 방식</li>\n</ul>\n<h1 id=\"4-정보-보안-침해-공격-관련-용어\" style=\"position:relative;\"><a href=\"#4-%EC%A0%95%EB%B3%B4-%EB%B3%B4%EC%95%88-%EC%B9%A8%ED%95%B4-%EA%B3%B5%EA%B2%A9-%EA%B4%80%EB%A0%A8-%EC%9A%A9%EC%96%B4\" aria-label=\"4 정보 보안 침해 공격 관련 용어 permalink\" class=\"anchor-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>4. 정보 보안 침해 공격 관련 용어</h1>\n<hr>\n<ul>\n<li><code class=\"language-text\">좀비 PC</code> : 악성코드에 감염되어 다른 프로그램이나 컴퓨터를 조종하도록 만들어진 컴퓨터로, C&#x26;C서버의 제어를 받아 주로 DDoS 공격 등에 이용</li>\n<li><code class=\"language-text\">C&amp;C 서버</code> : 해커가 원격지에서 감염된 좀비 PC에 명령을 내리고 악성코드를 제어하기 위한 용도로 사용하는 서버</li>\n<li><code class=\"language-text\">봇넷</code> : 악성 프로그램에 감염되어 악의적인 의도로 사용될 수 있는 다수의 컴퓨터들이 네트워크로 연결된 형태</li>\n<li><code class=\"language-text\">웜</code> : 네트워크를 통해 연속적으로 자신을 복제하여 시스템의 부하를 높임으로써 결국 시스템을 다운시키는 바이러스의 일종</li>\n<li><code class=\"language-text\">제로 데이 공격</code> : 보안 취약점이 발견되었을 때 발견된 취약점의 존재 자체가 널리 공표되기도 전에 해당 취약점을 통하여 이루어지는 보안 공격</li>\n<li><code class=\"language-text\">키로거 공격</code> : 컴퓨터 사용자의 키보드 움직임을 탐지해 ID, 패스워드, 계좌번호, 카드번호 등과 같은 개인의 중요한 정보를 몰래 빼가는 해킹 공격</li>\n<li><code class=\"language-text\">랜섬웨어</code> : 인터넷 사용자의 컴퓨터에 잠입해 내부 문서나 파일 등을 암호화해 사용자가 열지 못하게 하는 프로그램</li>\n<li><code class=\"language-text\">백도어</code> : 시스템 설계자가 서비스 기술자나 유지 보수 프로그램 작성자의 액세스 편의를 위해 시스템 보안을 제거하여 만들어놓은 비밀 통로로, 컴퓨터 범죄에 악용되기도 함</li>\n</ul>\n<h1 id=\"5-소프트웨어-개발-보안\" style=\"position:relative;\"><a href=\"#5-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EA%B0%9C%EB%B0%9C-%EB%B3%B4%EC%95%88\" aria-label=\"5 소프트웨어 개발 보안 permalink\" class=\"anchor-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>5. 소프트웨어 개발 보안</h1>\n<hr>\n<ul>\n<li><em>소프트웨어 개발 과정에서 발생할 수 있는 보안 취약점을 최소화하여 보안 위협으로부터 안전한 소프트웨어를 개발하기 위한 일련의 보안 활동</em></li>\n<li>소프트웨어 개발 보안의 목표<del>(기무가)</del> : <code class=\"language-text\">기밀성, 무결성, 가용성</code> 유지</li>\n<li><em>소프트웨어 개발 보안 관련 기관</em></li>\n<li><code class=\"language-text\">행정안전부</code> : 소프트웨어 개발 보안 정책을 총괄</li>\n<li><code class=\"language-text\">한국 인터넷 진흥원</code> : 소프트웨어 개발 보안 정책 및 가이드를 개발</li>\n<li><code class=\"language-text\">발주기관</code> : 소프트웨어 개발 보안의 계획을 수립</li>\n<li><code class=\"language-text\">사업자</code> : 소프트웨어 개발 보안 관련 기술 수준 및 적용 계획을 명시</li>\n<li><code class=\"language-text\">감리법인</code> : 감리 계획을 수립하고 협의</li>\n</ul>\n<h1 id=\"6-소프트웨어-개발-보안-활동-관련-법령\" style=\"position:relative;\"><a href=\"#6-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EA%B0%9C%EB%B0%9C-%EB%B3%B4%EC%95%88-%ED%99%9C%EB%8F%99-%EA%B4%80%EB%A0%A8-%EB%B2%95%EB%A0%B9\" aria-label=\"6 소프트웨어 개발 보안 활동 관련 법령 permalink\" class=\"anchor-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>6. 소프트웨어 개발 보안 활동 관련 법령</h1>\n<hr>\n<ul>\n<li><em>개인정보 보호법</em>: 개인정보의 처리 및 보호에 관한 사항을 정함으로써 개인의 자유와 권리를 보호</li>\n<li><em>정보통신망 이용촉진 및 정보보호 등에 관한 법률</em> : 정보통신망의 이용 촉진 및 정보통신 서비스를 이용하는 이용자들의 개인 정보를 보호</li>\n<li><em>신용정보의 이용 및 보호에 관한 법률</em> : 개인 신용정보의 효율적 이용과 체계적인 관리를 통해 정보의 오남용을 방지</li>\n<li><em>위치정보의 보호 및 이용 등에 관한 법률</em> : 개인 위치정보의 안전한 이용 환경을 조성하여 정보의 유출이나 오남용을 방지</li>\n<li><em>표준 개인정보 보호 지침</em> : 개인정보의 처리에 관한 기준, 개인정보 침해의 유형 및 예방조치 등에 관한 세부사항을 규정</li>\n<li><em>개인정보의 안전성 확보 조치</em> : 기준개인정보 처리자가 개인정보를 처리하는데 있어 개인정보가 분실, 도난, 유출, 위조, 변조, 훼손되지 않도록 안전성 확보에 필요한 기술적, 관리적, 물리적 안전조치에 관한 최소한의 기준을 규정</li>\n<li><em>개인정보 영향평가에 관한 고시</em> : 개인정보 영향평가를 위한 평가기관의 지정, 영향평가의 절차 등에 관한 세부기준을 규정</li>\n</ul>\n<h1 id=\"7-secure-sdlc\" style=\"position:relative;\"><a href=\"#7-secure-sdlc\" aria-label=\"7 secure sdlc permalink\" class=\"anchor-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>7. Secure SDLC</h1>\n<hr>\n<ul>\n<li><em>보안상 안전한 소프트웨어를 개발하기 위해 SDLC에 보안 강화를 위한 프로세스를 포함한 것을 의미</em></li>\n<li><em>SDLC(소프트웨어 개발 생명주기)</em> : 소프트웨어 개발 방법론의 바탕이 되는 것으로, 소프트웨어를 개발하기 위해 정의하고 운용, 유지보수 등의 전 과정을 각 단계별로 나눈 것</li>\n<li>SDLC 전체 단계에 걸쳐 수행되어야 할 보안 활동을 제시</li>\n<li><code class=\"language-text\">요구사항 분석 단계</code> : 보안 항목에 해당하는 요구사항을 식별하는 작업을 수행, 전산화되는 정보가 가지고 있는 보안 수준을 보안요소별로 등급을 구분하여 분류</li>\n<li><code class=\"language-text\">설계 단계</code> : 식별된 보안 요구사항들을 소프트웨어 설계서에 반영, 보안 설계서를 작성</li>\n<li><code class=\"language-text\">구현 단계</code> : 표준 코딩 정의서 및 소프트웨어 개발 보안 가이드를 준수하며, 설계서에 따라 보안 요구사항들을 구현</li>\n<li><code class=\"language-text\">테스트 단계</code> : 설계 단계에서 작성한 보안 설계서를 바탕으로 보안 사항들이 정확히 반영되고 동작되는지 점검</li>\n<li><code class=\"language-text\">유지 보수 단계</code> : 이전 과정을 모두 수행하였음에도 발생할 수 있는 보안 사고들을 식별하고, 사고 발생 시 이를 해결하고 보안 패치를 실시</li>\n<li><code class=\"language-text\">시큐어 코딩</code> : 소프트웨어의 구현단계에서 발생할 수 있는 보안 취약점들을 최소화하기 위해 보안 요소들을 고려하며 코딩하는 것</li>\n</ul>\n<h1 id=\"8-보안-요소\" style=\"position:relative;\"><a href=\"#8-%EB%B3%B4%EC%95%88-%EC%9A%94%EC%86%8C\" aria-label=\"8 보안 요소 permalink\" class=\"anchor-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>8. 보안 요소</h1>\n<hr>\n<ul>\n<li><em>소프트웨어 개발에 있어 충족시켜야할 요소 및 요건</em></li>\n<li><code class=\"language-text\">기밀성</code> : 시스템 내의 정보와 자원은 인가된 사용자에게만 접근이 허용</li>\n<li><code class=\"language-text\">무결성</code> : 시스템 내의 정보는 오직 인가된 사용자만 수정</li>\n<li><code class=\"language-text\">가용성</code> : 인가받은 사용자는 언제라도 사용</li>\n<li><code class=\"language-text\">인증</code> : 시스템 내의 정보와 자원을 사용하려는 사용자가 합법적인 사용자인지를 확인하는 모든 행위</li>\n<li><code class=\"language-text\">부인 방지</code> : 데이터를 송·수신한 자가 송·수신 사실을 부인할 수 없도록 송·수신 증거 제공</li>\n</ul>\n<h1 id=\"9-보안-점검---세션-통제\" style=\"position:relative;\"><a href=\"#9-%EB%B3%B4%EC%95%88-%EC%A0%90%EA%B2%80---%EC%84%B8%EC%85%98-%ED%86%B5%EC%A0%9C\" aria-label=\"9 보안 점검   세션 통제 permalink\" class=\"anchor-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>9. 보안 점검 - 세션 통제</h1>\n<hr>\n<ul>\n<li>\n<p><code class=\"language-text\">세션 통제</code></p>\n<ul>\n<li><em>세션</em> : 서버와 클라이언트의 연결</li>\n<li><em>세션 통제</em> :  세션의 연결과 연결로 인해 발생하는 정보를 관리하는 것, 세션 통제는 요구사항 분석 및 설계 단계에서 진단해야 하는 보안 점검 내용</li>\n<li><em>세션 통제의 보안 약점</em></li>\n<li><em>불충분한 세션 관리</em> : 일정한 규칙이 존재하는 세션ID가 발급되거나 타임아웃이 너무 길게 설정되어 있는 경우</li>\n<li><em>잘못된 세션에 의한 정보 노출</em> : 다중 스레드(Multi-Thread) 환경에서 멤버 변수에 정보를 저장할 때 발생. 멤버 변수보다 지역 변수를 활용하여 변수의 범위를 제한</li>\n<li><em>세션ID(SessionID)</em>: 서버가 클라이언트들을 구분하기 위해 부여하는 키(Key), 클라이언트가 서버에 요청을 보낼 때마다 세션ID를 통해 인증 수행</li>\n</ul>\n</li>\n<li>\n<p><code class=\"language-text\">입력 데이터 검증 및 표현</code></p>\n<ul>\n<li><em>입력 데이터로 인해 발생하는 문제들을 예방하기 위해 구현 단계에서 검증해야 하는 보안 점검 항목</em></li>\n<li><em>SQL 삽입</em> : 입력란에 SQL을 삽입하여 무단으로 DB를 조회하거나 조작. 동적 쿼리에 사용되는 입력 데이터에 예약 어 및 특수문자가 입력되지 않게 필터링 되도록 설정</li>\n<li><em>경로 조작 및 자원 삽입</em> :  데이터 입출력 경로를 조작하여 서버 자원을 수정· 삭제. 사용자 입력값을 식별자로 사용하는 경우, 경로 순회 공격을 막는 필터를 사용</li>\n<li><em>크로스사이트스크립팅(XSS)</em> :  웹페이지에 악의적인 스크립트를 삽입하여 방문자들의 정보를 탈취,비정상적인 기능수행을 유발. HTML 태그의 사용을 제한, 스크립트에 삽입되지 않도록 ‘&#x3C;’, ‘>’, ‘&#x26;’ 등의 문자를 다른 문자로 치환</li>\n<li><em>운영체제 명령어 삽입</em> :  외부 입력값을 통해 시스템 명령어의 실행을 유도해 권한을 탈취하거나 시스템 장애를 유발. 웹 인터페이스를 통해 시스템 명령어가 전달되지 않도록 하고, 외부 입력값을 검증 없이 내부 명령어로 사용하지 않게함</li>\n<li><em>위험한 형식 파일 업로드</em> : 악의적인 명령어가 포함된 스크립트 파일을 업로드함으로써 시스템에 손상, 시스템을 제어. 업로드 되는 파일의 확장자 제한, 파일명의 암호화, 웹사이트와 파일 서버의 경로 분리, 실행 속성을 제거</li>\n<li><em>신뢰되지 않는 URL 주소로 자동 접속 연결</em> : 입력 값으로 사이트 주소를 받는 경우 이를 조작하여 방문자를 피싱 사이트로 유도. 연결되는 외부 사이트의 주소를 화이트 리스트로 관리</li>\n</ul>\n</li>\n<li>\n<p><code class=\"language-text\">보안 기능</code></p>\n<ul>\n<li><em>소프트웨어 개발의 구현 단계에서 코딩하는 기능인 인증, 접근제어, 기밀성, 암호화 등을 올바르게 구현하기 위한 보안 점검 항목</em></li>\n<li><em>적절한 인증 없이 중요기능 허용</em> : 보안검사를 우회하여 인증과정 없이 중요한 정보 또는 기능에 접근 및 변경이 가능, 중요정보나 기능을 수행하는 페이지에서는 재인증 기능을 수행하도록 함</li>\n<li><em>부적절한 인가</em> : 접근제어 기능이 없는 실행경로를 통해 정보 또는 권한을 탈취.모든 실행경로에 대해 접근제어 검사를 수행, 사용자에게는 반드시 필요한 접근 권한만을 부여</li>\n<li><em>중요한 자원에 대한 잘못된 권한 설정</em> : 권한 설정이 잘못된 자원에 접근하여 해당 자원을 임의로 사용, 소프트웨어 관리자만 자원들을 읽고 쓸 수 있도록 설정하고, 인가되지 않은 사용자의 중요 자원에 대한 접근 여부를 검사</li>\n<li><em>취약한 암호화 알고리즘 사용</em> : 암호화된 환경설정 파일을 해독하여 비밀번호 등의 중요정보를 탈취, 안전한 암호화 알고리즘을 이용하고, 업무 관련 내용이나 개인정보 등에 대해서는 IT보안 인증 사무국이 안정성을 확인한 암호모듈을 이용</li>\n<li><em>중요 정보 평문 저장 및 전송</em> : 암호화되지 않은 평문 데이터를 탈취하여 중요한 정보를 획득, 중요한 정보를 저장하거나 전송할 때는 반드시 암호화 과정을 거치도록 하고, HTTPS 또는 SSL과 같은 보안 채널을 이용함으로써 방지</li>\n<li><em>하드코드된 비밀번호</em> : 소스코드 유출 시 내부에 하드코드된 패스워드를 이용하여 관리자 권한을 탈취, 패스워드는 암호화하여 별도의 파일에 저장하고, 디폴트 패스워드나 디폴드 키의 사용을 피함</li>\n</ul>\n</li>\n<li>\n<p><code class=\"language-text\">시간 및 상태</code></p>\n<ul>\n<li><em>동시 수행을 지원하는 병렬 처리 시스템이나 다수의 프로세스가 동작하는 환경에서 시간과 실행 상태를 관리하여 시스템이 원활하게 동작되도록 하기 위한 보안 검증 항목</em>. 시간 및 상태를 점검하지 않은 코딩이 유발하는 보안 약점</li>\n<li><em>TOCTOU 경쟁 조건</em> : 검사 시점(Time Of Check)과 사용 시점(Time Of Use)을 고려하지 않고 코딩하는 경우 발생. 코드 내에 동기화 구문을 사용하여 해당 자원에는 한 번에 하나의 프로세스만 접근 가능하도록 구성함으로써 방지</li>\n<li><em>종료되지 않는 반복문 또는 재귀함수</em> : 반복문이나 재귀함수에서 종료 조건을 정의하지 않았거나 논리 구조상 종료될 수 없는 경우 발생. 모든 반복문이나 재귀함수의 수행 횟수를 제한하는 설정을 추가하거나, 종료 조건을 점검하여 반복 또는 호출의 종료 여부를 확인함으로써 방지</li>\n</ul>\n</li>\n<li>\n<p><code class=\"language-text\">에러 처리</code></p>\n<ul>\n<li><em>소프트웨어 실행 중 발생할 수 있는 오류들을 사전에 정의하여 오류로 인해 발생할 수 있는 문제들을 예방하기 위한 보안 점검 항목</em>. 에러처리의 미비로 인한 코딩이 유발하는 보안 약점</li>\n<li><em>오류 메시지를 통한 정보노출</em> : 오류 발생으로 실행 환경, 사용자 정보, 디버깅 정보 등의 중요 정보를 소프트웨어가 메시지로 외부에 노출. 예외처리 구문에 예외의 이름이나 스택 트레이스를 출력하도록 코딩한 경우 해커는 소프트웨어의 내부구조를 쉽게 파악하기 때문에 오류 발생 시 가능한 한 내부에서만 처리되도록 하거나 메시지를 출력할 경우 최소한의 정보 또는 사전에 준비된 메시지만 출력되도록 함.</li>\n<li><em>오류 상황 대응 부재</em> : 소프트웨어 개발 중 예외처리를 하지 않았거나 미비로 인해 발생. 오류가 발생할 수 있는 부분에 예외처리 구문을 작성하고, 제어문을 활용하여 오류가 악용되지 않도록 코딩</li>\n<li><em>부적절한 예외처리</em> : 함수의 반환값 또는 오류들을 세분화하여 처리하지 않고 광범위하게 묶어 한 번에 처리, 누락된 예외가 존재. 모든 함수의 반환값이 의도대로 출력되는지 확인하고, 세분화된 예외처리를 수행</li>\n</ul>\n</li>\n<li>\n<p><code class=\"language-text\">코드 오류</code></p>\n<ul>\n<li><em>소프트웨어 구현 단계에서 개발자들이 코딩 중 실수하기 쉬운 형 변환, 자원 반환 등의 오류를 예방</em>.</li>\n<li><em>널 포인터 역참조</em>  : 널 포인터가 가리키는 메모리에 어떠한 값을 저장할 때 발생</li>\n<li><em>널 포인터</em> : 널 포인터는 포인터(메모리의 위치를 가리키는 요소)에 널(값이 없음)이 저장되어 어떠한 곳도 가리키지 못하는 상태의 요소</li>\n<li><em>부적절한 자원 해제</em>  : 자원을 반환하는 코드를 누락하거나 프로그램 오류로 할당된 자원을 반환하지 못했을 때 발생. 프로그램 내에 자원 반환 코드가 누락되었는지 확인, 오류로 인해 함수가 중간에 종료되었을 때 예외처리에 관계없이 자원이 반환되도록 코딩</li>\n<li><em>해제된 자원 사용</em>  : 이미 사용이 종료되어 반환된 메모리를 참조하는 경우. 반환된 메모리에 접근할 수 없도록 주소를 저장하고 있는 포인터를 초기화</li>\n<li><em>초기화되지 않은 변수 사용</em>  : 변수 선언 후 값이 부여되지 않은 변수를 사용할 때. 변수 선언 시 할당된 메모리를 초기화</li>\n</ul>\n</li>\n<li>\n<p><code class=\"language-text\">캡슐화</code></p>\n<ul>\n<li><em>정보 은닉이 필요한 중요한 데이터와 기능을 불충분하게 캡슐화하거나 잘못 사용함으로써 발생할 수 있는 문제를 예방하기 위함</em></li>\n<li><em>잘못된 세션에 의한 정보 노출</em> : 다중 스레드 환경에서 멤버 변수에 정보를 저장할 때. 멤버 변수보다 지역 변수를 활용하여 변수의 범위를 제한함으로써 방지</li>\n<li><em>제거되지 않고 남은 디버그 코드</em> : 개발 중에 버그 수정이나 결과값 확인을 위해 남겨둔 코드들로 인해 발생. 소프트웨어를 배포하기 전에 코드 검사를 통해 남아있는 디버그 코드를 삭제</li>\n<li><em>시스템 데이터 정보 노출</em> : 시스템의 내부 정보를 시스템 메시지 등을 통해 외부로 출력하도록 코딩했을 때. 시스템 메시지를 통해 노출되는 메시지는 최소한의 정보만을 제공</li>\n<li><em>Public 메소드로부터 반환된 Private 배열</em> : 선언된 클래스 내에서만 접근이 가능한 Private 배열을 모든 클래스에서 접근이 가능한 Public 메소드에서 반환할 때. Private 배열을 별도의 메소드를 통해 조작하거나, 동일한 형태의 복제본으로 반환받은 후 값을 전달</li>\n<li><em>Private 배열에 Public 데이터 할당</em> : Private 배열에 Public으로 선언된 데이터 또는 메소드의 파라미터를 저장할 때. Public으로 선언된 데이터를 Private 배열에 저장할 때, 레퍼런스가 아닌 값을 직접 저장</li>\n<li>Java의 접근 제어자(제한자) : Java에서 특정 개체를 선언할 때 외부로부터의 접근을 제한하기 위해 사용되는 예약어(Public, Private, Protected, Default)</li>\n</ul>\n</li>\n<li>\n<p><code class=\"language-text\">API 오용</code></p>\n<ul>\n<li><em>소프트웨어 구현 단계에서 API를 잘못 사용하거나 보안에 취약한 API를 사용하지 않도록 하기 위한 보안 검증 항목</em></li>\n<li><em>API 오용으로 발생할 수 있는 보안 약점</em></li>\n<li><code class=\"language-text\">DNS Lookup에 의존한 보안 결정</code> : 도메인명에 의존하여 인증이나 접근 통제 등의 보안 결정을 내리는 경우 DNS 검색을 통해 도메인 이름을 비교하지 않고 IP 주소를 직접 입력하여 접근</li>\n<li><code class=\"language-text\">취약한 API 사용</code>: 보안 문제로 사용이 금지된 API를 사용하거나, 잘못된 방식으로 API를 사용했을 때. 보안 문제로 금지된 함수(strcat, strcpy, sprintf 등)는 안전한 함수로 대체하고, API의 매뉴얼을 참고하여 보안이 보장되는 인터페이스를 사용</li>\n</ul>\n</li>\n</ul>\n<h1 id=\"10-암호-알고리즘\" style=\"position:relative;\"><a href=\"#10-%EC%95%94%ED%98%B8-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98\" aria-label=\"10 암호 알고리즘 permalink\" class=\"anchor-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>10. 암호 알고리즘</h1>\n<hr>\n<ul>\n<li><em>패스워드, 주민번호, 은행계좌와 같은 중요정보를 보호하기 위해 평문을 암호화된 문장으로 만드는 절차 또는 방법</em></li>\n<li>해시(Hash)를 사용하는 <em>단방향 암호화 방식</em>과, 개인키 및 공개키로 분류되는 <em>양방향 암호화 방식</em></li>\n<li><code class=\"language-text\">개인키 암호화 기법(대칭 암호 기법/단일키 암호화 기법)</code> : 동일한 키로 데이터를 암호화하고 복호화</li>\n<li><code class=\"language-text\">공개키 암호화 기법(비대칭 암호 기법)</code>: 데이터를 암호화할 때 사용하는 공개키는 데이터베이스 사용자에게 공개, 복호화할 때의 비밀키는 관리자가 비밀리에 관리</li>\n<li><code class=\"language-text\">해시(Hash)</code> : 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환하는 것</li>\n</ul>\n<h1 id=\"11-개인키대칭키-암호화-알고리즘\" style=\"position:relative;\"><a href=\"#11-%EA%B0%9C%EC%9D%B8%ED%82%A4%EB%8C%80%EC%B9%AD%ED%82%A4-%EC%95%94%ED%98%B8%ED%99%94-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98\" aria-label=\"11 개인키대칭키 암호화 알고리즘 permalink\" class=\"anchor-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>11. 개인키(대칭키) 암호화 알고리즘</h1>\n<hr>\n<ul>\n<li><code class=\"language-text\">개인키 암호화 알고리즘</code> : 암호화와 복호화에 같은 암호키를 쓰는 알고리즘</li>\n<li>\n<p><code class=\"language-text\">블록 암호 방식</code> : 긴 평문을 암호화하기 위해 고정 길이의 블록을 암호화하는 블록 암호 알고리즘을 반복하는 방법</p>\n<ul>\n<li><code class=\"language-text\">SEED</code>(128) : 1999년 한국인터넷진흥원(KISA)에서 개발한 블록 암호화 알고리즘, 블록 크기는 128비트이며, 키 길이에 따라 128, 256으로 분류</li>\n<li><code class=\"language-text\">ARIA(Academy,Research Institute,Agency)</code>(128) : 2004년 국가정보원과 산학연협회가 개발한 블록 암호화 알고리즘, 블록 크기는 128비트이며, 키 길이에 따라 128, 192, 256으로 분류</li>\n<li><code class=\"language-text\">DES(Data Encryption Standard)</code>(64) : 1975년 미국 NBS에서 발표한 개인키 암호화 알고리즘, 블록 크기는 64비트이며, 키 길이는 56비트</li>\n<li><code class=\"language-text\">AES(Advanced Encryption Standard)</code>(128) : 2001년 미국 표준 기술 연구소(NIST)에서 발표한 개인키 암호화 알고리즘, 블록 크기는 128비트이며, 키 길이에 따라 128, 192, 256으로 분류</li>\n</ul>\n</li>\n<li>\n<p><code class=\"language-text\">스트림 암호 방식</code> : 매우 긴 주기의 난수열을 발생시켜 평문과 더불어 암호문을 생성하는 방식</p>\n<ul>\n<li><code class=\"language-text\">RC4</code>: 로널드 라이베스트가 만든 스트림 암호로, 전송 계층 보안(TLS)이나 WEP등의 여러 프로토콜에 사용</li>\n</ul>\n</li>\n</ul>\n<h1 id=\"12-공개키비대칭키-암호화-알고리즘\" style=\"position:relative;\"><a href=\"#12-%EA%B3%B5%EA%B0%9C%ED%82%A4%EB%B9%84%EB%8C%80%EC%B9%AD%ED%82%A4-%EC%95%94%ED%98%B8%ED%99%94-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98\" aria-label=\"12 공개키비대칭키 암호화 알고리즘 permalink\" class=\"anchor-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>12. 공개키(비대칭키) 암호화 알고리즘</h1>\n<hr>\n<ul>\n<li>\n<p><code class=\"language-text\">공개키 암호화 알고리즘</code> : 데이터를 암호화할 때 사용하는 공개키는 데이터베이스 사용자에게 공개, 복호화할 때의 비밀키는 관리자가 비밀리에 관리</p>\n<ul>\n<li><code class=\"language-text\">디피-헬만</code> : 암호 키를 교환하는 방법으로서 두 사람이 암호화되지 않은 통신망을 통해 공통의 비밀 키를 공유할 수 있도록 하는 방식</li>\n<li><code class=\"language-text\">RSA</code> : <em>로널드 라이베스트, 아디 샤미르, 레너드 애들먼의 앞글자를 딴 비대칭 키(공개 키 )암호화 알고리즘. 현재 비대칭 키 암호 방식 중 가장 널리 쓰임</em>. 소인수 분해의 어려움 이용</li>\n</ul>\n</li>\n</ul>\n<h1 id=\"13-해시-방식-암호화-알고리즘\" style=\"position:relative;\"><a href=\"#13-%ED%95%B4%EC%8B%9C-%EB%B0%A9%EC%8B%9D-%EC%95%94%ED%98%B8%ED%99%94-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98\" aria-label=\"13 해시 방식 암호화 알고리즘 permalink\" class=\"anchor-header before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>13. 해시 방식 암호화 알고리즘</h1>\n<hr>\n<ul>\n<li>\n<p><code class=\"language-text\">해시 방식</code> : 단방향 알고리즘으로서 임의의 데이터를 고정된 길이의 데이터로 매핑하는 함수</p>\n<ul>\n<li><code class=\"language-text\">SHA</code> :  <em>미국 국가안보국(NSA) 이 1993년에 처음으로 설계했으며, 미국 국가 표준으로 지정된 해시 암호화 알고리즘.</em>(SHA-2 : SHA-224, SHA-256, SHA-384, SHA-512)</li>\n<li><code class=\"language-text\">MD5</code> : (128bit)<em>RFC 1321로 지정되어 있으며, 로널드 라이베스트가 예전에 쓰이던  MD4를 대체하기 위해 고안한 알고리즘</em></li>\n</ul>\n</li>\n</ul>","tableOfContents":"<ul>\n<li><a href=\"/%5B2020%5D%20%EC%A0%95%EB%B3%B4%20%EC%B2%98%EB%A6%AC%20%EA%B8%B0%EC%82%AC%20%EC%8B%A4%EA%B8%B0%209-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%20%EB%B3%B4%EC%95%88%20%EA%B5%AC%EC%B6%95/#1-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EA%B0%9C%EB%B0%9C%EC%9D%98-%EB%B9%84%EC%9A%A9-%EC%82%B0%EC%A0%95-%EA%B8%B0%EB%B2%95\">1. 소프트웨어 개발의 비용 산정 기법</a></li>\n<li><a href=\"/%5B2020%5D%20%EC%A0%95%EB%B3%B4%20%EC%B2%98%EB%A6%AC%20%EA%B8%B0%EC%82%AC%20%EC%8B%A4%EA%B8%B0%209-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%20%EB%B3%B4%EC%95%88%20%EA%B5%AC%EC%B6%95/#2-%EA%B3%B5%EA%B2%A9-%EA%B8%B0%EB%B2%95%EC%9D%98-%EC%9D%B4%ED%95%B4\">2. 공격 기법의 이해</a></li>\n<li><a href=\"/%5B2020%5D%20%EC%A0%95%EB%B3%B4%20%EC%B2%98%EB%A6%AC%20%EA%B8%B0%EC%82%AC%20%EC%8B%A4%EA%B8%B0%209-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%20%EB%B3%B4%EC%95%88%20%EA%B5%AC%EC%B6%95/#3-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EC%B9%A8%ED%95%B4-%EA%B3%B5%EA%B2%A9-%EA%B4%80%EB%A0%A8-%EC%9A%A9%EC%96%B4\">3. 네트워크 침해 공격 관련 용어</a></li>\n<li><a href=\"/%5B2020%5D%20%EC%A0%95%EB%B3%B4%20%EC%B2%98%EB%A6%AC%20%EA%B8%B0%EC%82%AC%20%EC%8B%A4%EA%B8%B0%209-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%20%EB%B3%B4%EC%95%88%20%EA%B5%AC%EC%B6%95/#4-%EC%A0%95%EB%B3%B4-%EB%B3%B4%EC%95%88-%EC%B9%A8%ED%95%B4-%EA%B3%B5%EA%B2%A9-%EA%B4%80%EB%A0%A8-%EC%9A%A9%EC%96%B4\">4. 정보 보안 침해 공격 관련 용어</a></li>\n<li><a href=\"/%5B2020%5D%20%EC%A0%95%EB%B3%B4%20%EC%B2%98%EB%A6%AC%20%EA%B8%B0%EC%82%AC%20%EC%8B%A4%EA%B8%B0%209-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%20%EB%B3%B4%EC%95%88%20%EA%B5%AC%EC%B6%95/#5-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EA%B0%9C%EB%B0%9C-%EB%B3%B4%EC%95%88\">5. 소프트웨어 개발 보안</a></li>\n<li><a href=\"/%5B2020%5D%20%EC%A0%95%EB%B3%B4%20%EC%B2%98%EB%A6%AC%20%EA%B8%B0%EC%82%AC%20%EC%8B%A4%EA%B8%B0%209-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%20%EB%B3%B4%EC%95%88%20%EA%B5%AC%EC%B6%95/#6-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EA%B0%9C%EB%B0%9C-%EB%B3%B4%EC%95%88-%ED%99%9C%EB%8F%99-%EA%B4%80%EB%A0%A8-%EB%B2%95%EB%A0%B9\">6. 소프트웨어 개발 보안 활동 관련 법령</a></li>\n<li><a href=\"/%5B2020%5D%20%EC%A0%95%EB%B3%B4%20%EC%B2%98%EB%A6%AC%20%EA%B8%B0%EC%82%AC%20%EC%8B%A4%EA%B8%B0%209-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%20%EB%B3%B4%EC%95%88%20%EA%B5%AC%EC%B6%95/#7-secure-sdlc\">7. Secure SDLC</a></li>\n<li><a href=\"/%5B2020%5D%20%EC%A0%95%EB%B3%B4%20%EC%B2%98%EB%A6%AC%20%EA%B8%B0%EC%82%AC%20%EC%8B%A4%EA%B8%B0%209-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%20%EB%B3%B4%EC%95%88%20%EA%B5%AC%EC%B6%95/#8-%EB%B3%B4%EC%95%88-%EC%9A%94%EC%86%8C\">8. 보안 요소</a></li>\n<li><a href=\"/%5B2020%5D%20%EC%A0%95%EB%B3%B4%20%EC%B2%98%EB%A6%AC%20%EA%B8%B0%EC%82%AC%20%EC%8B%A4%EA%B8%B0%209-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%20%EB%B3%B4%EC%95%88%20%EA%B5%AC%EC%B6%95/#9-%EB%B3%B4%EC%95%88-%EC%A0%90%EA%B2%80---%EC%84%B8%EC%85%98-%ED%86%B5%EC%A0%9C\">9. 보안 점검 - 세션 통제</a></li>\n<li><a href=\"/%5B2020%5D%20%EC%A0%95%EB%B3%B4%20%EC%B2%98%EB%A6%AC%20%EA%B8%B0%EC%82%AC%20%EC%8B%A4%EA%B8%B0%209-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%20%EB%B3%B4%EC%95%88%20%EA%B5%AC%EC%B6%95/#10-%EC%95%94%ED%98%B8-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98\">10. 암호 알고리즘</a></li>\n<li><a href=\"/%5B2020%5D%20%EC%A0%95%EB%B3%B4%20%EC%B2%98%EB%A6%AC%20%EA%B8%B0%EC%82%AC%20%EC%8B%A4%EA%B8%B0%209-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%20%EB%B3%B4%EC%95%88%20%EA%B5%AC%EC%B6%95/#11-%EA%B0%9C%EC%9D%B8%ED%82%A4%EB%8C%80%EC%B9%AD%ED%82%A4-%EC%95%94%ED%98%B8%ED%99%94-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98\">11. 개인키(대칭키) 암호화 알고리즘</a></li>\n<li><a href=\"/%5B2020%5D%20%EC%A0%95%EB%B3%B4%20%EC%B2%98%EB%A6%AC%20%EA%B8%B0%EC%82%AC%20%EC%8B%A4%EA%B8%B0%209-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%20%EB%B3%B4%EC%95%88%20%EA%B5%AC%EC%B6%95/#12-%EA%B3%B5%EA%B0%9C%ED%82%A4%EB%B9%84%EB%8C%80%EC%B9%AD%ED%82%A4-%EC%95%94%ED%98%B8%ED%99%94-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98\">12. 공개키(비대칭키) 암호화 알고리즘</a></li>\n<li><a href=\"/%5B2020%5D%20%EC%A0%95%EB%B3%B4%20%EC%B2%98%EB%A6%AC%20%EA%B8%B0%EC%82%AC%20%EC%8B%A4%EA%B8%B0%209-%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%20%EB%B3%B4%EC%95%88%20%EA%B5%AC%EC%B6%95/#13-%ED%95%B4%EC%8B%9C-%EB%B0%A9%EC%8B%9D-%EC%95%94%ED%98%B8%ED%99%94-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98\">13. 해시 방식 암호화 알고리즘</a></li>\n</ul>","frontmatter":{"title":"[2020] 정보 처리 기사 실기 9-소프트웨어 보안 구축","path":"/[2020] 정보 처리 기사 실기 9-소프트웨어 보안 구축/","images":["images/1.jpg"],"category":"정보처리기사 실기","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2020-07-17T19:00:00.000Z","components":null,"tweets":null,"summary":"2020 정보 처리 기사 소프트웨어 보안 구축 입니다. 정처기 공부를 할 때 활용하세요."}},"posts":{"edges":[{"node":{"frontmatter":{"type":"portfolio","title":"MOIJA","images":["moija/images/moija.png","moija/images/moija1.png","moija/images/moija2.png","moija/images/moija3.png","moija/images/moija4.png","moija/images/moija5.png"],"path":"/portfolios/moija/","tags":null,"date":"2022-03-02T00:00:00.000Z","summary":null}}},{"node":{"frontmatter":{"type":"portfolio","title":"VUELOG","images":["vuelog/images/vuelog.png","vuelog/images/vuelog1.png","vuelog/images/vuelog2.png","vuelog/images/vuelog3.png","vuelog/images/vuelog4.png","vuelog/images/vuelog5.png","vuelog/images/vuelog6.png"],"path":"/portfolios/VUELOG/","tags":null,"date":"2022-03-01T00:00:00.000Z","summary":null}}},{"node":{"frontmatter":{"type":"portfolio","title":"DT CENTER","images":["dtcenter/images/dtcenter.png","dtcenter/images/dtcenter1.png","dtcenter/images/dtcenter2.png","dtcenter/images/dtcenter3.png"],"path":"/portfolios/DT CENTER/","tags":null,"date":"2022-02-21T00:00:00.000Z","summary":null}}},{"node":{"frontmatter":{"type":"portfolio","title":"COLORBERRY","images":["ColorBerry/images/colorberry.png","ColorBerry/images/colorberry2.png","ColorBerry/images/colorberry3.png","ColorBerry/images/colorberry4.png","ColorBerry/images/colorberry5.png","ColorBerry/images/colorberry6.png","ColorBerry/images/colorberry7.png","ColorBerry/images/colorberry8.png"],"path":"/portfolios/COLORBERRY/","tags":null,"date":"2022-02-20T00:00:00.000Z","summary":null}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 정보 처리 기사 실기 요약","images":["images/1.jpg"],"path":"/[2020] 정보 처리 기사 실기 요약/","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2021-0417T09:24:00000Z","summary":"[2020] 정보 처리 기사 실기 요약 입니다 정처기 공부를 할 때 활용하세요"}}},{"node":{"frontmatter":{"type":null,"title":"벡엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - node","images":["images/2.jpg"],"path":"/벡엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - node/","tags":["벡엔드","개발자","면접","기술면접","node"],"date":"2021-04-20T01:00:00.000Z","summary":"벡엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - node"}}},{"node":{"frontmatter":{"type":null,"title":"프론트엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - Vue","images":["images/2.jpg"],"path":"/프론트엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - Vue/","tags":["프론트엔드","개발자","면접","기술면접","Vue"],"date":"2021-04-15T01:00:00.000Z","summary":"프론트엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - Vue"}}},{"node":{"frontmatter":{"type":null,"title":"프론트엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - Vue(1)","images":["images/2.jpg"],"path":"/프론트엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - Vue(1)/","tags":["프론트엔드","개발자","면접","기술면접","Vue"],"date":"2021-04-15T01:00:00.000Z","summary":"프론트엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - Vue(1)"}}},{"node":{"frontmatter":{"type":null,"title":"프론트엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - CSS","images":["images/2.jpg"],"path":"/프론트엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - CSS/","tags":["프론트엔드","개발자","면접","기술면접","CSS"],"date":"2021-04-14T01:00:00.000Z","summary":"프론트엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - CSS"}}},{"node":{"frontmatter":{"type":null,"title":"프론트엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - React","images":["images/2.jpg"],"path":"/프론트엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - React/","tags":["프론트엔드","개발자","면접","기술면접","React"],"date":"2021-04-14T01:00:00.000Z","summary":"프론트엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - React"}}},{"node":{"frontmatter":{"type":null,"title":"RxJs 정리","images":["images/2.jpg"],"path":"/RxJs 정리/","tags":["벡엔드","개발자","프론트엔드","기술면접","RxJs"],"date":"2021-04-09T01:00:00.000Z","summary":"RxJs 정리"}}},{"node":{"frontmatter":{"type":null,"title":"벡엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - 기술스택","images":["images/2.jpg"],"path":"/벡엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - 기술스택/","tags":["벡엔드","개발자","면접","기술면접","기술스택"],"date":"2021-04-09T01:00:00.000Z","summary":"벡엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - 기술스택"}}},{"node":{"frontmatter":{"type":null,"title":"벡엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - CS","images":["images/2.jpg"],"path":"/벡엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - cs/","tags":["벡엔드","개발자","면접","기술면접","CS"],"date":"2021-04-08T01:00:00.000Z","summary":"프론트엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - 자바스크립트 파트"}}},{"node":{"frontmatter":{"type":null,"title":"three.js 공부","images":["images/2.jpg"],"path":"/three.js 공부/","tags":["프론트엔드","개발자","면접","기술면접","자바스크립트"],"date":"2021-04-07T01:00:00.000Z","summary":"three.js 공부"}}},{"node":{"frontmatter":{"type":null,"title":"프론트엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - 자바스크립트(1)","images":["images/2.jpg"],"path":"/프론트엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - 자바스크립트(1)/","tags":["프론트엔드","개발자","면접","기술면접","자바스크립트"],"date":"2021-04-07T01:00:00.000Z","summary":"프론트엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - 자바스크립트(1) 파트"}}},{"node":{"frontmatter":{"type":null,"title":"프론트엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - 자바스크립트(2)","images":["images/2.jpg"],"path":"/프론트엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - 자바스크립트(2)/","tags":["프론트엔드","개발자","면접","기술면접","자바스크립트"],"date":"2021-04-07T01:00:00.000Z","summary":"프론트엔드 개발자 면접 질문(기술면접) 질문 정리 모음 - 자바스크립트(2) 파트"}}},{"node":{"frontmatter":{"type":null,"title":"react 공부","images":["images/1.jpg"],"path":"/react 공부/","tags":["react.js","프론트엔드"],"date":"2021-04-05T12:23:00.000Z","summary":"react 공부"}}},{"node":{"frontmatter":{"type":null,"title":"vue 공부 1일차","images":["images/1.jpg"],"path":"/vue공부1일차/","tags":["vue.js","프론트엔드"],"date":"2021-04-04T12:23:00.000Z","summary":"vue 공부 1일차"}}},{"node":{"frontmatter":{"type":null,"title":"vue 공부 1일차","images":["images/1.jpg"],"path":"/vue공부1일차/","tags":["vue.js","프론트엔드"],"date":"2021-04-04T12:23:00.000Z","summary":"vue 공부 1일차"}}},{"node":{"frontmatter":{"type":null,"title":"history api 정리","images":["images/1.jpg"],"path":"/history api 정리/","tags":["네트워크 관리사 2급","자격증","소프트웨어"],"date":"2021-03-03T12:23:00.000Z","summary":"history api 정리"}}},{"node":{"frontmatter":{"type":null,"title":"프로그래머스 데브매칭 고양이 정리","images":["images/1.jpg"],"path":"/프로그래머스 데브매칭 고양이 정리/","tags":["네트워크 관리사 2급","자격증","소프트웨어"],"date":"2021-03-01T12:23:00.000Z","summary":"프로그래머스 데브매칭 고양이 정리입니다."}}},{"node":{"frontmatter":{"type":"portfolio","title":"ANGULOG","images":["angulog/images/angulog.png","angulog/images/angulog2.png","angulog/images/angulog3.png","angulog/images/angulog4.png","angulog/images/angulog5.png","angulog/images/angulog6.png"],"path":"/portfolios/ANGULOG/","tags":null,"date":"2021-02-23T00:00:00.000Z","summary":null}}},{"node":{"frontmatter":{"type":"portfolio","title":"MBTI WORLD","images":["mbtiworld/images/mbtiworld.png","mbtiworld/images/mbtiworld2.png","mbtiworld/images/mbtiworld3.png","mbtiworld/images/mbtiworld4.png","mbtiworld/images/mbtiworld5.png","mbtiworld/images/mbtiworld6.png","mbtiworld/images/mbtiworld7.png","mbtiworld/images/mbtiworld8.png","mbtiworld/images/mbtiworld9.png","mbtiworld/images/mbtiworld10.png"],"path":"/portfolios/MBTI WORLD/","tags":null,"date":"2021-02-19T00:00:00.000Z","summary":null}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 네트워크 관리사 2급 실기 요점 정리 - 리눅스_TCPIP_신경향","images":["images/1.jpg"],"path":"/[2020] 네트워크 관리사 2급 실기 요점 정리 - 리눅스_TCPIP_신경향/","tags":["네트워크 관리사 2급","자격증","소프트웨어"],"date":"2021-01-02T12:01:00.000Z","summary":"[2020] 네트워크 관리사 2급 실기 요점 정리 - 리눅스_TCPIP_신경향입니다."}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 네트워크 관리사 2급 실기 요점 정리 - 라우터","images":["images/1.jpg"],"path":"/[2020] 네트워크 관리사 2급 실기 요점 정리 - 라우터/","tags":["네트워크 관리사 2급","자격증","소프트웨어"],"date":"2021-01-01T12:23:00.000Z","summary":"[2020] 네트워크 관리사 2급 실기 요점 정리 - 라우터입니다."}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 네트워크 관리사 2급 실기 요점 정리 - 정리","images":["images/1.jpg"],"path":"/[2020] 네트워크 관리사 2급 실기 요점 정리 - 정리/","tags":["네트워크 관리사 2급","자격증","소프트웨어"],"date":"2021-01-01T12:23:00.000Z","summary":"[2020] 네트워크 관리사 2급 실기 요점 정리 - 정리입니다."}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 네트워크 관리사 2급 실기 요점 정리 - 윈도우 서버","images":["images/1.jpg"],"path":"/[2020] 네트워크 관리사 2급 실기 요점 정리 - 윈도우 서버/","tags":["네트워크 관리사 2급","자격증","소프트웨어"],"date":"2021-01-01T12:21:00.000Z","summary":"[2020] 네트워크 관리사 2급 실기 요점 정리 - 윈도우 서버입니다."}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 리눅스 마스터 2급 2차 요점 정리","images":["images/1.jpg"],"path":"/[2020] 리눅스 마스터 2급 2차 요점 정리 - 리눅스 일반/","tags":["리눅스 마스터 2급","자격증","소프트웨어"],"date":"2020-12-03T12:21:00.000Z","summary":"[2020] 리눅스 마스터 2급 2차 (1) 리눅스 일반 요점 정리입니다."}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 정보 처리 기사 실기 16-단답형 문제(4)","images":["images/1.jpg"],"path":"/[2020] 정보 처리 기사 실기 16-단답형 문제(4)/","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2020-10-15T09:24:00000Z","summary":"[2020] 정보 처리 기사 실기 16-단답형 문제(4)입니다 정처기 공부를 할 때 활용하세요"}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 정보 처리 기사 실기 15-단답형 문제(3)","images":["images/1.jpg"],"path":"/[2020] 정보 처리 기사 실기 15-단답형 문제(3)/","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2020-10-15T09:22:00000Z","summary":"[2020] 정보 처리 기사 실기 15-단답형 문제(3)입니다 정처기 공부를 할 때 활용하세요"}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 정보 처리 기사 실기 14-단답형 문제(2)","images":["images/1.jpg"],"path":"/[2020] 정보 처리 기사 실기 14-단답형 문제(2)/","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2020-10-15T09:21:00000Z","summary":"[2020] 정보 처리 기사 실기 14-단답형 문제(2)입니다 정처기 공부를 할 때 활용하세요"}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 정보 처리 기사 실기 13-단답형 문제(1)","images":["images/1.jpg"],"path":"/[2020] 정보 처리 기사 실기 13-단답형 문제(1)/","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2020-10-14T16:21:00000Z","summary":"[2020] 정보 처리 기사 실기 13-단답형 문제(1)입니다 정처기 공부를 할 때 활용하세요"}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 정보 처리 기사 실기 12-정보 용어 정리","images":["images/1.jpg"],"path":"/[2020] 정보 처리 기사 실기 12-정보 용어 정리/","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2020-10-14T02:21:00.000Z","summary":"2020 정보 처리 기사 실기 12-정보 용어 정리 요약 입니다. 정처기 공부를 할 때 활용하세요."}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 정보 처리 기사 실기 11-제품 소프트웨어 패키징","images":["images/1.jpg"],"path":"/[2020] 정보 처리 기사 실기 11-제품 소프트웨어 패키징/","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2020-07-17T23:03:00.000Z","summary":"2020 정보 처리 기사 제품 소프트웨어 패키징 입니다. 정처기 공부를 할 때 활용하세요."}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 정보 처리 기사 실기 10-응용 SW 기초 기술 활용(3)","images":["images/1.jpg"],"path":"/[2020] 정보 처리 기사 실기 10-응용 SW 기초 기술 활용(3)/","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2020-07-17T21:03:00.000Z","summary":"2020 정보 처리 기사 응용 SW 기초 기술 활용 입니다. 정처기 공부를 할 때 활용하세요."}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 정보 처리 기사 실기 10-응용 SW 기초 기술 활용(2)","images":["images/1.jpg"],"path":"/[2020] 정보 처리 기사 실기 10-응용 SW 기초 기술 활용(2)/","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2020-07-17T21:02:00.000Z","summary":"2020 정보 처리 기사 응용 SW 기초 기술 활용 입니다. 정처기 공부를 할 때 활용하세요."}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 정보 처리 기사 실기 10-응용 SW 기초 기술 활용(1)","images":["images/1.jpg"],"path":"/[2020] 정보 처리 기사 실기 10-응용 SW 기초 기술 활용(1)/","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2020-07-17T21:01:00.000Z","summary":"2020 정보 처리 기사 응용 SW 기초 기술 활용 입니다. 정처기 공부를 할 때 활용하세요."}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 정보 처리 기사 실기 9-소프트웨어 보안 구축","images":["images/1.jpg"],"path":"/[2020] 정보 처리 기사 실기 9-소프트웨어 보안 구축/","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2020-07-17T19:00:00.000Z","summary":"2020 정보 처리 기사 소프트웨어 보안 구축 입니다. 정처기 공부를 할 때 활용하세요."}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 정보 처리 기사 실기 8-SQL 응용","images":["images/1.jpg"],"path":"/[2020] 정보 처리 기사 실기 8-SQL 응용/","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2020-07-17T12:45:00.000Z","summary":"2020 정보 처리 기사 SQL 응용 요약 입니다. 정처기 공부를 할 때 활용하세요."}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 정보 처리 기사 실기 6-화면 설계","images":["images/1.jpg"],"path":"/[2020] 정보 처리 기사 실기 6-화면 설계/","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2020-07-16T17:00:00.000Z","summary":"2020 정보 처리 기사 화면 설계 요약 입니다. 정처기 공부를 할 때 활용하세요."}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 정보 처리 기사 실기 7-애플리케이션 테스트 관리","images":["images/1.jpg"],"path":"/[2020] 정보 처리 기사 실기 7-애플리케이션 테스트 관리/","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2020-07-16T17:00:00.000Z","summary":"2020 정보 처리 기사 애플리케이션 테스트 관리 요약 입니다. 정처기 공부를 할 때 활용하세요."}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 정보 처리 기사 실기 5-서버 프로그램 구현","images":["images/1.jpg"],"path":"/[2020] 정보 처리 기사 실기 5-서버 프로그램 구현/","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2020-07-16T06:31:00.000Z","summary":"2020 정보 처리 기사 서버 프로그램 구현 요약 입니다. 정처기 공부를 할 때 활용하세요."}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 정보 처리 기사 실기 4-통합 구현","images":["images/1.jpg"],"path":"/[2020] 정보 처리 기사 실기 4-통합 구현/","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2020-07-16T05:31:00.000Z","summary":"2020 정보 처리 기사 통합 구현 요약 입니다. 정처기 공부를 할 때 활용하세요."}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 정보 처리 기사 실기 3-데이터 입출력 구현","images":["images/1.jpg"],"path":"/[2020] 정보 처리 기사 실기 3-데이터 입출력 구현/","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2020-07-15T17:22:00.000Z","summary":"2020 정보 처리 기사 데이터 입출력 구현 요약 입니다. 정처기 공부를 할 때 활용하세요."}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 정보 처리 기사 실기 2-요구 사항 확인","images":["images/1.jpg"],"path":"/[2020] 정보 처리 기사 실기 2-요구 사항 확인/","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2020-07-15T17:21:00.000Z","summary":"2020 정보 처리 기사 요구 사항 확인 요약 입니다. 정처기 공부를 할 때 활용하세요."}}},{"node":{"frontmatter":{"type":null,"title":"[파이썬] itertools 에 대해서 알아보자","images":["images/4.jpg"],"path":"/[파이썬] itertools 에 대해서 알아보자/","tags":["파이썬","itertools","알고리즘"],"date":"2020-07-15T17:00:00.000Z","summary":"파이썬으로 순열, 조합을 빠르게 구해주는 라이브러리"}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 정보 처리 기사 실기 1-프로그래밍 언어 활용(3)","images":["images/1.jpg"],"path":"/[2020] 정보 처리 기사 실기 1-프로그래밍 언어 활용(3)/","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2020-07-11T22:23:00.000Z","summary":"2020 정보 처리 기사 프로그래밍 언어 활용 요약 입니다. 정처기 공부를 할 때 활용하세요."}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 정보 처리 기사 실기 1-프로그래밍 언어 활용(2)","images":["images/1.jpg"],"path":"/[2020] 정보 처리 기사 실기 1-프로그래밍 언어 활용(2)/","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2020-07-11T22:21:00.000Z","summary":"2020 정보 처리 기사 프로그래밍 언어 활용 요약 입니다. 정처기 공부를 할 때 활용하세요."}}},{"node":{"frontmatter":{"type":null,"title":"[2020] 정보 처리 기사 실기 1-프로그래밍 언어 활용(1)","images":["images/1.jpg"],"path":"/[2020] 정보 처리 기사 실기 1-프로그래밍 언어 활용(1)/","tags":["정보처리기사 실기","정보처리기사","정처기"],"date":"2020-07-11T20:21:00.000Z","summary":"2020 정보 처리 기사 프로그래밍 언어 활용 요약 입니다. 정처기 공부를 할 때 활용하세요."}}},{"node":{"frontmatter":{"type":null,"title":"[파이썬] 파이썬을 이용한 이진탐색트리 구현","images":["images/4.jpg"],"path":"/[파이썬] 파이썬을 이용한 이진탐색트리 구현/","tags":["파이썬","알고리즘","이진탐색트리"],"date":"2020-07-06T22:06:00.000Z","summary":"파이썬을 이용한 이진탐색트리 구현"}}},{"node":{"frontmatter":{"type":null,"title":"2020 정보처리기사 필기 요점 정리(5)-프로그래밍 언어 활용(3)","images":["images/2.jpg"],"path":"/2020 정보처리기사 필기 요점 정리(5)-프로그래밍 언어 활용(3)/","tags":["정보처리기사 필기","정보처리기사"],"date":"2020-05-03T01:00:00.000Z","summary":"2020 정보처리기사 필기 요점 정리(5)-프로그래밍 언어 활용(3)"}}},{"node":{"frontmatter":{"type":null,"title":"2020 정보처리기사 필기 요점 정리(5)-프로그래밍 언어 활용(2)(운영체제)","images":["images/2.jpg"],"path":"/2020 정보처리기사 필기 요점 정리(5)-프로그래밍 언어 활용(2)(운영체제)/","tags":["정보처리기사 필기","정보처리기사"],"date":"2020-05-02T01:00:00.000Z","summary":"응용 SW 기초 기술 활용"}}},{"node":{"frontmatter":{"type":null,"title":"2020 정보처리기사 필기 요점 정리(5)-프로그래밍 언어 활용(1)","images":["images/2.jpg"],"path":"/2020 정보처리기사 필기 요점 정리(5)-프로그래밍 언어 활용(1)/","tags":["정보처리기사 필기","정보처리기사"],"date":"2020-05-01T01:00:00.000Z","summary":"2020 정보처리기사 필기 요점 정리(5)-프로그래밍 언어 활용(1)"}}},{"node":{"frontmatter":{"type":null,"title":"2020 정보처리기사 필기 요점 정리(4)-정보시스템 구축 관리(3)","images":["images/2.jpg"],"path":"/2020 정보처리기사 필기 요점 정리(4)-정보시스템 구축 관리(3)/","tags":["정보처리기사 필기","정보처리기사"],"date":"2020-04-03T03:05:00.000Z","summary":"정보시스템 구축 관리"}}},{"node":{"frontmatter":{"type":null,"title":"2020 정보처리기사 필기 요점 정리(4)-정보시스템 구축 관리(2)","images":["images/2.jpg"],"path":"/2020 정보처리기사 필기 요점 정리(4)-정보시스템 구축 관리(2)/","tags":["정보처리기사 필기","정보처리기사"],"date":"2020-04-02T03:05:00.000Z","summary":"2020 정보처리기사 필기 요점 정리(4)-정보시스템 구축 관리(2)"}}},{"node":{"frontmatter":{"type":null,"title":"2020 정보처리기사 필기 요점 정리(4)-정보시스템 구축 관리(1)","images":["images/2.jpg"],"path":"/2020 정보처리기사 필기 요점 정리(4)-정보시스템 구축 관리(1)/","tags":["정보처리기사 필기","정보처리기사"],"date":"2020-04-01T03:05:00.000Z","summary":"2020 정보처리기사 필기 요점 정리(4)-정보시스템 구축 관리(1)"}}},{"node":{"frontmatter":{"type":null,"title":"2020 정보처리기사 필기 요점 정리(3)-소프트웨어 설계(3)","images":["images/2.jpg"],"path":"/2020 정보처리기사 필기 요점 정리(3)-소프트웨어 설계(3)/","tags":["정보처리기사 필기","정보처리기사"],"date":"2020-03-03T02:01:00.000Z","summary":"2020 정보처리기사 필기 요점 정리(3)-소프트웨어 설계(3)"}}},{"node":{"frontmatter":{"type":null,"title":"2020 정보처리기사 필기 요점 정리(3)-소프트웨어 설계(2)","images":["images/2.jpg"],"path":"/2020 정보처리기사 필기 요점 정리(3)-소프트웨어 설계(2)/","tags":["정보처리기사 필기","정보처리기사"],"date":"2020-03-02T02:01:00.000Z","summary":"2020 정보처리기사 필기 요점 정리(3)-소프트웨어 설계(2)"}}},{"node":{"frontmatter":{"type":null,"title":"2020 정보처리기사 필기 요점 정리(3)-소프트웨어 설계(1)","images":["images/2.jpg"],"path":"/2020 정보처리기사 필기 요점 정리(3)-소프트웨어 설계(1)/","tags":["정보처리기사 필기","정보처리기사"],"date":"2020-03-01T02:01:00.000Z","summary":"2020 정보처리기사 필기 요점 정리(3)-소프트웨어 설계(1)"}}},{"node":{"frontmatter":{"type":null,"title":"2020 정보처리기사 필기 요점 정리(2)-소프트웨어 개발(3)","images":["images/2.jpg"],"path":"/2020 정보처리기사 필기 요점 정리(2)-소프트웨어 개발(3)/","tags":["정보처리기사 필기","정보처리기사"],"date":"2020-02-03T05:00:00.000Z","summary":"2020 정보처리기사 필기 요점 정리(2)-소프트웨어 개발(3)"}}},{"node":{"frontmatter":{"type":null,"title":"2020 정보처리기사 필기 요점 정리(2)-소프트웨어 개발(2)","images":["images/2.jpg"],"path":"/2020 정보처리기사 필기 요점 정리(2)-소프트웨어 개발(2)/","tags":["정보처리기사 필기","정보처리기사"],"date":"2020-02-02T05:00:00.000Z","summary":"2020 정보처리기사 필기 요점 정리(2)-소프트웨어 개발(2)"}}},{"node":{"frontmatter":{"type":null,"title":"2020 정보처리기사 필기 요점 정리(2)-소프트웨어 개발(1)","images":["images/2.jpg"],"path":"/2020 정보처리기사 필기 요점 정리(2)-소프트웨어 개발(1)/","tags":["정보처리기사 필기","정보처리기사"],"date":"2020-02-01T05:00:00.000Z","summary":"2020 정보처리기사 필기 요점 정리(2)-소프트웨어 개발(1)"}}},{"node":{"frontmatter":{"type":null,"title":"2020 정보처리기사 필기 요점 정리(1)-데이터베이스 구축(3)","images":["images/2.jpg"],"path":"/2020 정보처리기사 필기 요점 정리(1)-데이터베이스 구축(3)/","tags":["정보처리기사 필기","정보처리기사"],"date":"2020-01-03T05:00:00.000Z","summary":"2020 정보처리기사 필기 요점 정리(1)-데이터베이스 구축(3)"}}},{"node":{"frontmatter":{"type":null,"title":"2020 정보처리기사 필기 요점 정리(1)-데이터베이스 구축(2)","images":["images/2.jpg"],"path":"/2020 정보처리기사 필기 요점 정리(1)-데이터베이스 구축(2)/","tags":["정보처리기사 필기","정보처리기사"],"date":"2020-01-02T05:00:00.000Z","summary":"2020 정보처리기사 필기 요점 정리(1)-데이터베이스 구축(2)"}}},{"node":{"frontmatter":{"type":null,"title":"2020 정보처리기사 필기 요점 정리(1)-데이터베이스 구축(1)","images":["images/2.jpg"],"path":"/2020 정보처리기사 필기 요점 정리(1)-데이터베이스 구축(1)/","tags":["정보처리기사 필기","정보처리기사","필기","데이터베이스 구축"],"date":"2020-01-01T05:00:00.000Z","summary":"2020 정보처리기사 필기 요점 정리(1)-데이터베이스 구축(1)"}}},{"node":{"frontmatter":{"type":"portfolio","title":"CAPTURE BLOG","images":["CaptureBlog/images/capture1.png","CaptureBlog/images/capture2.png","CaptureBlog/images/capture3.png","CaptureBlog/images/capture4.png","CaptureBlog/images/capture5.png","CaptureBlog/images/capture6.png"],"path":"/portfolios/CAPTURE BLOG/","tags":null,"date":"2020-01-01T00:00:00.000Z","summary":null}}},{"node":{"frontmatter":{"type":"portfolio","title":"LANGUAGE TOGETHER","images":["languageTogether/images/languagetogether.png","languageTogether/images/languagetogether2.png","languageTogether/images/languagetogether3.png","languageTogether/images/languagetogether4.png","languageTogether/images/languagetogether5.png","languageTogether/images/languagetogether6.png","languageTogether/images/languagetogether7.png","languageTogether/images/languagetogether8.png","languageTogether/images/languagetogether9.png"],"path":"/portfolios/LANGUAGE TOGETHER/","tags":null,"date":"2018-01-01T00:00:00.000Z","summary":null}}},{"node":{"frontmatter":{"type":"portfolio","title":"MOVIE STAR","images":["moviestar/images/moviestar.png","moviestar/images/moviestar2.png","moviestar/images/moviestar3.png","moviestar/images/moviestar4.png"],"path":"/portfolios/MOVIE STAR/","tags":null,"date":"2018-01-01T00:00:00.000Z","summary":null}}},{"node":{"frontmatter":{"type":"resume","title":"Resume","images":null,"path":"/resume/","tags":null,"date":"2000-01-01T00:00:00.000Z","summary":null}}}]}},"pageContext":{}}}